package com.dt.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dt.common.annotation.Excel;
import com.dt.common.core.domain.BaseEntity;

public class ModFile extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 档案ID
     */
    private Long id;

    /**
     * 签收信息ID
     */
    @Excel(name = "签收信息ID")
    private Long signId;

    /**
     * 收件编号
     */
    @Excel(name = "收件编号")
    private String receiverNo;

    /**
     * 档案编号
     */
    @Excel(name = "档案编号")
    private String fileNo;

    /**
     * 条码打印人ID
     */
    @Excel(name = "条码打印人ID")
    private Long printUserId;

    /**
     * 档案状态 (0已签收 1已入库 2退案 3借阅  档案与盒子关联后属于“已入库”)
     */
    @Excel(name = "档案状态")
    private String status;

    /**
     * 所属库房ID
     */
    @Excel(name = "所属库房ID")
    private Long repositoriesId;

    /**
     * 所属库架ID
     */
    @Excel(name = "所属库架ID")
    private Long shelvesId;

    /**
     * 所属层格ID
     */
    @Excel(name = "所属层格ID")
    private Long layerId;

    /**
     * 所属盒子ID
     */
    @Excel(name = "所属盒子ID")
    private Long boxId;

    /**
     * 所属盒子编号
     */
    @Excel(name = "所属盒子编号")
    private String boxNo;

    /**
     * 档案等级ID
     */
    @Excel(name = "档案等级ID")
    private String levelId;

    /**
     * 入库人ID
     */
    @Excel(name = "入库人ID")
    private Long putUserId;

    /**
     * 入库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入库时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date putTime;

    @Excel(name = "创建者")
    private String createBy;

    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Excel(name = "更新者")
    private String updateBy;

    @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 档案影像状态 (0:未上传 1:已上传)
     */
    @Excel(name = "档案影像状态")
    private String imageStatus;

    /**
     * 借阅标识 (0:未借阅 1已借阅)
     */
    @Excel(name = "借阅标识")
    private String borrowStatus;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setSignId(Long signId) {
        this.signId = signId;
    }

    public Long getSignId() {
        return signId;
    }

    public void setReceiverNo(String receiverNo) {
        this.receiverNo = receiverNo;
    }

    public String getReceiverNo() {
        return receiverNo;
    }

    public void setFileNo(String fileNo) {
        this.fileNo = fileNo;
    }

    public String getFileNo() {
        return fileNo;
    }

    public void setPrintUserId(Long printUserId) {
        this.printUserId = printUserId;
    }

    public Long getPrintUserId() {
        return printUserId;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setRepositoriesId(Long repositoriesId) {
        this.repositoriesId = repositoriesId;
    }

    public Long getRepositoriesId() {
        return repositoriesId;
    }

    public void setShelvesId(Long shelvesId) {
        this.shelvesId = shelvesId;
    }

    public Long getShelvesId() {
        return shelvesId;
    }

    public void setLayerId(Long layerId) {
        this.layerId = layerId;
    }

    public Long getLayerId() {
        return layerId;
    }

    public void setBoxId(Long boxId) {
        this.boxId = boxId;
    }

    public Long getBoxId() {
        return boxId;
    }

    public void setBoxNo(String boxNo) {
        this.boxNo = boxNo;
    }

    public String getBoxNo() {
        return boxNo;
    }

    public void setLevelId(String levelId) {
        this.levelId = levelId;
    }

    public String getLevelId() {
        return levelId;
    }

    public void setPutUserId(Long putUserId) {
        this.putUserId = putUserId;
    }

    public Long getPutUserId() {
        return putUserId;
    }

    public void setPutTime(Date putTime) {
        this.putTime = putTime;
    }

    public Date getPutTime() {
        return putTime;
    }

    public void setImageStatus(String imageStatus) {
        this.imageStatus = imageStatus;
    }

    public String getImageStatus() {
        return imageStatus;
    }

    public void setBorrowStatus(String borrowStatus) {
        this.borrowStatus = borrowStatus;
    }

    public String getBorrowStatus() {
        return borrowStatus;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("signId", getSignId())
                .append("receiverNo", getReceiverNo())
                .append("fileNo", getFileNo())
                .append("printUserId", getPrintUserId())
                .append("status", getStatus())
                .append("repositoriesId", getRepositoriesId())
                .append("shelvesId", getShelvesId())
                .append("layerId", getLayerId())
                .append("boxId", getBoxId())
                .append("boxNo", getBoxNo())
                .append("levelId", getLevelId())
                .append("putUserId", getPutUserId())
                .append("putTime", getPutTime())
                .append("imageStatus", getImageStatus())
                .append("borrowStatus", getBorrowStatus())
                .toString();
    }
}
